package com.njtech.pet.dao;

import com.njtech.pet.entity.Action;
import com.njtech.pet.entity.Item;
import com.njtech.pet.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author lxj
 * Date:2020-03-09 17:13
 * Description:用户行为记录
 */
public interface ActionDao {

    /**
     * 增
     * @param action 新纪录
     * @return 行数
     */
    int insert(Action action);

    /**
     * 改
     * @param action 新纪录
     * @return 行数
     */
    int updateByActionId(Action action);

    /**
     * 查行为记录
     * @param user 谁
     * @param action 行为类型
     * @param item 商品
     * @param state 状态
     * @param remark 备注
     * @param beginDate 起日期
     * @param endDate 止日期
     * @return 行为集合
     */
    List<Action> selectByUserAction(@Param("user")User user,
                                    @Param("action") String action,
                                    @Param("item") Item item,
                                    @Param("state") String state,
                                    @Param("remark") String remark,
                                    @Param("beginDate")String beginDate, @Param("endDate")String endDate);

    /**
     * select by action row's id
     * @param id action id
     * @return result
     */
    Action selectByActionId(@Param("id") Integer id);
}
